[アップデート] CloudWatch EventsのターゲットとしてCloudWatch Logsがサポートされました!
こんにちは、中川です。
CloudWatch Events のターゲットとして、CloudWatch Logs がサポートされました。
例えばこの機能を使うことで、EC2 が終了したときのインスタンスの情報や、GuardDuty のイベントを CloudWatch Logs にログとして残すことができます。
早速、この機能を使って、GuardDuty のログを残す手順をやってみたいと思います。
やってみた
CloudWatch Eventsルールを作成
マネージメントコンソールで[CloudWatch]->[イベント]->[ルールの作成]を選択します。
今回は GuardDuty で重要度:高の Finding をイベントを条件とするので、カスタムイベントパターン使用します。
イベントソースを選択する画面で、[編集]をクリックします。
以下の json を貼り付け、[保存]を選択します。
{
"source": [
"aws.guardduty"
],
"detail-type": [
"GuardDuty Finding"
],
"detail": {
"severity": [
8
]
}
}
- 重要度:高は、ドキュメント上で「seveity が 7.0〜8.9」と記載されていますが、今回は検証のため8のみを指定しています。
次に、ターゲットを設定します。
[ターゲットの追加]を選択すると、プルダウンから「ロググループ」を選択できるようになっています。
グループ名を"guardduty"と設定します。今回は、AWS で予約されたプレフィックスを使用しておりますが、予め自分で用意したロググループを選択することもできます。
イベントルール名を設定し、CloudWatch Events の設定は完了です。
動作確認
GuardDuty には、テスト用にサンプルを出力する機能がありますので、今回はそちらを使用します。
[GuardDuty]->[設定]->[結果サンプルの生成]を選択します。
実行すると、以下のようにサンプルが生成されます。
準備が完了したので、CloudWatch Logs を確認します。
[CloudWatch]->[ログ]->[/aws/events/guardduty]を選択すると、ログストリームが生成されています。
ログストリームごとに参照すると見にくいので、上部の[イベント検索]を選択します。
すると、Finding が出力されていることを確認できます。
一覧からログを開いてみると、シビリティが 8 の結果のみをログに残せていることを確認できました!
さいごに
CloudWatch Events のターゲットとして、CloudWatch Logs がサポートされたので試してみました。
今回行った GuardDuty のイベント以外にも、TrustedAdvisor のチェック結果など、今までログに残しずらかった情報も残せるようになったと思います。
これからも良さそうな活用事例があれば試してみたいと思います!